﻿<Serializable()> Public Class KOMary
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "MARY"
        Armee = Armeen.AC.ToString
        Musik = "Mary"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 3
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If OhneFunktion = False Then
            KeineVersorgung(1)
            KeineTruppenBau()
            BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
        End If
        OffensivStärke = New Feuerkrafttabelle120
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        ReperaturVerbotNachKampf = True
        OffensivStärke = Nothing
        BesetzungsbonusNachEinheitenZerstörung = -5
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            If OhneFunktion = False Then
                KeineVersorgung(1)
                KeineTruppenBau()
                BackbufferSpiel.AddAnimation("SCREENFLASH", 2, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            OffensivStärke = New Feuerkrafttabelle120
            GabeEingesetzt()
        Else
            BesetzungsbonusNachEinheitenZerstörung = -15
            OffensivStärke = New Feuerkrafttabelle130
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
                AndereDeckung(-1)
            End If
            GabeEingesetzt()
        End If

    End Sub

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

<Serializable()> Public Class KOBeschreibungMary
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Mary"
        Fein = "Cocktails"
        Nein = "Ausreden"
        Beschreibung = New String() {"Eine knallharte", "Anführerin. Sie kennt", "keine Gnade."}
        Stil = New String() {"Einheit die von ihr Angegriffen", "wurden können sich eine", "Rundelang nicht reparieren.", "Wenn sie eine Einheit auf einem", "Gebäude zerstört sinkt", "die Besetzungszahl."}
        Gabebeschreibung = New String() {"Gegner können", "weder Truppen bauen noch", "sie reparieren."}
        SpezialgabeBeschreibung = New String() {"Deckungen senken die Verteidigung.", "Ihre Truppen sind stärker und", "ihr Besetzungsniedergang ist", "noch stärker."}
        GabeKosten = 3
        Spezialgabekosten = 3
        Gaben = New String() {"Highway der Pein", "Bloody Mary"}
        Synergie = New Decimal() {1.5#, 1, 0.5#, 0.5#, 0.5#, 0.5#, 0.5#, -1, -2, -1}
        KONamen = New String() {"ZAK", "ERIC", "SABAKI", "OZZY", "CARMEN", "EDWARD", "NELL", "ANDY", "MINAMOTO"}
        Doppelgabenamen = New String() {"Weg des Blutes", "Hände der Unterwelt", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesätze = New String() {"Auf marschiert weiter! Der Sieg ist nah." _
                                  , "Keine Schmerzen! Keine Glorie!" _
                                  , "Ein Tropfen Blut ist ein Tropfen Fortschritt. Du solltest stolz auf deine Truppen sein." _
                                  , "Man nennt mich Bloody Mary. ...und nun kannst du mich drinken." _
                                  , "Wir kämpfen bis dein letzter Soldat Tod ist!" _
                                  , "Ich bin ein Soldat. Ich kämpfe wo man es mir sagt. Ich siege wo ich kämpfe."}
        Siegsätze = New String() {"Sieht so aus als hätte sich mein Einsatz gelohnt." _
                                , "Okay! Soldaten. Euer Job ist getan ihr könnt gehen." _
                                , "Lasst uns gehen und den Sieg mit einem Drink feiern."}
        Tauschsätze = New String() {"Ich kenne keine Gnade. Es wäre ein guter Job mich zu besiegen." _
                                    , "Zurück zum intensiven Training. Und ruft nicht nach eurer Mami!"}
        Doppelgabesätze = New DoppelGabesatz() {New DoppelGabesatz("ZAK", "MARY", "Einer geht ein Anderer kommt.", "Das ist der Kreislauf des Lebens.") _
                                              , New DoppelGabesatz("MARY", "ZAK", "Auf Soldaten auf vorwärts.", "Du bist noch gemeiner als ich!") _
                                              , New DoppelGabesatz("MARY", "ERIC", "Ich möchte das Disziplin und Ordnung herrscht.", "Hauptsache sie machen alles platt!") _
                                              , New DoppelGabesatz("ERIC", "MARY", "Ich möchte alles zerstören!", "Wir kennen kein Erbarmen.")}
    End Sub
End Class
